package com.demo.paypalmanagement.model.vo;

import com.demo.paypalmanagement.common.BaseVO;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.LocalDateTime;

@Data
public class OrderVO extends BaseVO {
    private Long orderId;

    /**
     * 用户id
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long userId;

    /**
     * 交易流水支付单号
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long payOrderNo;

    /**
     * 订单状态，1：待支付，2：已支付，3：已关闭，4：已完成，5：已报名，6：已申请退款
     */
    private Integer status;

    /**
     * 状态备注
     */
    private String message;

    /**
     * 订单总金额，单位分
     */
    private Integer totalAmount;

    /**
     * 实付金额，单位分
     */
    private Integer realAmount;

    /**
     * 支付渠道
     */
    private String payChannel;

    /**
     * 创建订单时间
     */
    private LocalDateTime createTime;

    /**
     * 支付时间
     */
    private LocalDateTime payTime;

    /**
     * 订单关闭时间
     */
    private LocalDateTime closeTime;

    /**
     * 订单完成时间，支付后30天
     */
    private LocalDateTime finishTime;

    /**
     * 申请退款时间
     */
    private LocalDateTime refundTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 创建人
     */
    private Long creater;

    /**
     * 更新人
     */
    private Long updater;

    /**
     * 逻辑删除
     */
    private Integer deleted;

    private String province;  // 省
    private String city;      // 市
    private String district;  // 区
    private String street;    // 街道
    private String address;   // 详细地址
    private String captureId; // captureId
    private String token; // token
    private String contact;    // 姓名
    private String mobile;     // 手机号
}
